local selInfo = Def.ActorFrame{
};
local t = Def.ActorFrame{
};

	if GAMESTATE:IsCourseMode() then
		-- songtitle_plus_subtile
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="SongMainTitle1";
			InitCommand=cmd(maxwidth,SCREEN_WIDTH*0.7;x,SCREEN_RIGHT-20;y,SCREEN_CENTER_Y-50;diffuse,color("1,0.5,0.5,1");horizalign,right;zoomx,1;zoomy,0.9;shadowlength,0;);
			BeforeLoadingNextCourseSongMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				if song:GetDisplaySubTitle() ~= "" then
					self:visible(true);
					self:settext(song:GetDisplayMainTitle());
				else
					self:visible(false);
				end;
			end;
			ChangeCourseSongInMessageCommand=cmd(x,SCREEN_RIGHT-20;y,SCREEN_CENTER_Y-50;);
			StartCommand=cmd(diffusealpha,0;addx,SCREEN_WIDTH*0.5;sleep,0.2;accelerate,0.4;diffusealpha,1;addx,-SCREEN_WIDTH*0.5;sleep,1.4;accelerate,0.1;addy,-150;diffusealpha,0;);
		};
		-- songtitle_plus_subtile
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="SongMainTitle2";
			InitCommand=cmd(maxwidth,SCREEN_WIDTH*0.7;x,SCREEN_CENTER_X-192;diffuse,color("1,0.5,0.5,1");horizalign,left;zoomx,1;zoomy,0.9;shadowlength,0;);
			BeforeLoadingNextCourseSongMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if song:GetDisplaySubTitle() ~= "" then
					self:settext(song:GetDisplayMainTitle());
				else
					self:visible(false);
				end;
			end;
			ChangeCourseSongInMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if song:GetDisplaySubTitle() ~= "" then
					self:visible(true);
					if JacketPath then
						self:y(SCREEN_BOTTOM-110);
					else
						self:y(SCREEN_CENTER_Y+40);
					end;
				else
					self:visible(false);
				end;
			end;
			StartCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if JacketPath then
					self:y(SCREEN_BOTTOM-110);
					self:addx(-200);
					self:diffusealpha(0);
					self:sleep(2);
					self:accelerate(0.1);
					self:addx(200);
					self:diffusealpha(1);
					self:sleep(0.6);
					self:accelerate(0.3);
					self:addx(12);
					self:diffusealpha(0);
					self:linear(0.001);
					self:x(SCREEN_CENTER_X-192);					
				else
					self:y(SCREEN_CENTER_Y+40);
					self:addx(-200);
					self:diffusealpha(0);
					self:sleep(2);
					self:accelerate(0.1);
					self:addx(200);
					self:diffusealpha(1);
					self:sleep(0.6);
					self:accelerate(0.3);
					self:addx(12);
					self:diffusealpha(0);
					self:linear(0.001);
					self:x(SCREEN_CENTER_X-192);
				end;
			end;
		};
		-- songtitle_plus_subtile
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="SongSubTitle1";
			InitCommand=cmd(maxwidth,SCREEN_WIDTH*0.7;x,SCREEN_RIGHT-20;y,SCREEN_CENTER_Y-34;diffuse,color("1,0.5,0.5,1");horizalign,right;zoomx,0.575;zoomy,0.565;shadowlength,0;);
			BeforeLoadingNextCourseSongMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				if song:GetDisplaySubTitle() ~= "" then
					self:visible(true);
					self:settext(song:GetDisplaySubTitle());
				else
					self:visible(false);
				end;
			end;
			ChangeCourseSongInMessageCommand=cmd(x,SCREEN_RIGHT-20;y,SCREEN_CENTER_Y-34;);
			StartCommand=cmd(diffusealpha,0;addx,SCREEN_WIDTH*0.5;sleep,0.2;accelerate,0.4;diffusealpha,1;addx,-SCREEN_WIDTH*0.5;sleep,1.4;accelerate,0.1;addy,-300/2;diffusealpha,0;);
		};
		-- songtitle_plus_subtile
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="SongSubTitle2";
			InitCommand=cmd(maxwidth,SCREEN_WIDTH*0.7;x,SCREEN_CENTER_X-192;diffuse,color("1,0.5,0.5,1");horizalign,left;zoomx,0.575;zoomy,0.565;shadowlength,0;);
			BeforeLoadingNextCourseSongMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if song:GetDisplaySubTitle() ~= "" then
					self:visible(true);
					self:settext(song:GetDisplaySubTitle());
				else
					self:visible(false);
				end;
			end;
			ChangeCourseSongInMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if song:GetDisplaySubTitle() ~= "" then
					self:visible(true);
					if JacketPath then
						self:y(SCREEN_BOTTOM-94);
					else
						self:y(SCREEN_CENTER_Y+56);
					end;
				else
					self:visible(false);
				end;
			end;
			StartCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if JacketPath then
					self:y(SCREEN_BOTTOM-94);
					self:addx(-200);
					self:diffusealpha(0);
					self:sleep(2);
					self:accelerate(0.1);
					self:addx(400/2);
					self:diffusealpha(1);
					self:sleep(0.6);
					self:accelerate(0.1);
					self:addx(18);
					self:diffusealpha(0);
					self:linear(0.001);
					self:x(SCREEN_CENTER_X-192);
				else
					self:y(SCREEN_CENTER_Y+56);
					self:addx(-200);
					self:diffusealpha(0);
					self:sleep(2);
					self:accelerate(0.1);
					self:addx(400/2);
					self:diffusealpha(1);
					self:sleep(0.6);
					self:accelerate(0.1);
					self:addx(18);
					self:diffusealpha(0);
					self:linear(0.001);
					self:x(SCREEN_CENTER_X-192);
				end;
			end;
		};

		-- full title
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="SongTitle1";
			InitCommand=cmd(maxwidth,SCREEN_WIDTH*0.7;x,SCREEN_RIGHT-20;y,SCREEN_CENTER_Y-40;diffuse,color("1,0.5,0.5,1");horizalign,right;zoom,1;shadowlength,0;);
			BeforeLoadingNextCourseSongMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				if song:GetDisplaySubTitle() == "" then
					self:visible(true);
					self:settext(song:GetDisplayFullTitle());
				else
					self:visible(false);
				end;
			end;
			ChangeCourseSongInMessageCommand=cmd(x,SCREEN_RIGHT-20;y,SCREEN_CENTER_Y-40;);
			StartCommand=cmd(shadowlength,0;addx,SCREEN_WIDTH*0.5;sleep,0.2;accelerate,0.4;diffusealpha,1;addx,-SCREEN_WIDTH*0.5;sleep,1.4;accelerate,0.1;addy,-300/2;diffusealpha,0;);
		};
		-- full title
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="SongTitle2";
			InitCommand=cmd(maxwidth,SCREEN_WIDTH*0.7;diffuse,color("1,0.5,0.5,1");x,SCREEN_CENTER_X-192;horizalign,left;zoom,1;shadowlength,0;);
			BeforeLoadingNextCourseSongMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if song:GetDisplaySubTitle() == "" then
					self:visible(true);
					self:settext(song:GetDisplayFullTitle());
				else
					self:visible(false);
				end;
			end;
			ChangeCourseSongInMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if song:GetDisplaySubTitle() == "" then
					self:visible(true);
					if JacketPath then
						self:y(SCREEN_BOTTOM-100);
					else
						self:y(SCREEN_CENTER_Y+50);
					end;
				else
					self:visible(false);
				end;
			end;
			StartCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if JacketPath then
					self:y(SCREEN_BOTTOM-100);
					self:addx(-200);
					self:diffusealpha(0);
					self:sleep(2);
					self:accelerate(0.1);
					self:addx(200);
					self:diffusealpha(1);
					self:sleep(0.6);
					self:accelerate(0.1);
					self:addx(12);
					self:diffusealpha(0);
					self:linear(0.001);
					self:x(SCREEN_CENTER_X-192);
				else
					self:y(SCREEN_CENTER_Y+50);
					self:addx(-200);
					self:diffusealpha(0);
					self:sleep(2);
					self:accelerate(0.1);
					self:addx(200);
					self:diffusealpha(1);
					self:sleep(0.6);
					self:accelerate(0.1);
					self:addx(12);
					self:diffusealpha(0);
					self:linear(0.001);
					self:x(SCREEN_CENTER_X-192);
				end;
			end;
		};

		-- artist
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="Artist1";
			InitCommand=cmd(diffuse,color("1,0.5,0.5,1");horizalign,right;shadowlength,0;maxwidth,SCREEN_WIDTH*0.7;x,SCREEN_RIGHT-20;y,SCREEN_CENTER_Y-20;zoom,0.65;shadowlength,0;);
			BeforeLoadingNextCourseSongMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				self:settext(song:GetDisplayArtist());
			end;
			ChangeCourseSongInMessageCommand=cmd(x,SCREEN_RIGHT-20;y,SCREEN_CENTER_Y-20;);
			StartCommand=cmd(diffusealpha,0;addx,SCREEN_WIDTH*0.5;sleep,0.2;accelerate,0.4;diffusealpha,1;addx,-SCREEN_WIDTH*0.5;sleep,1.4;accelerate,0.1;addy,-300/2;diffusealpha,0);
		};
		-- artist
		selInfo[#selInfo+1] = LoadFont("_shared2")..{
			Name="Artist2";
			InitCommand=cmd(diffuse,color("1,0.5,0.5,1");horizalign,left;shadowlength,0;maxwidth,SCREEN_WIDTH*0.7;x,SCREEN_CENTER_X-192;horizalign,left;);
			BeforeLoadingNextCourseSongMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				self:settext(song:GetDisplayArtist());
			end;
			ChangeCourseSongInMessageCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if JacketPath then
					self:y(SCREEN_BOTTOM-80);
				else
					self:y(SCREEN_CENTER_Y+70);
				end;
			end;	
			StartCommand=function(self)
				local song = SCREENMAN:GetTopScreen():GetNextCourseSong();
				local path;
				local JacketPath = song:GetJacketPath();
				if JacketPath then
					self:y(SCREEN_BOTTOM-80);
					self:addx(-200);
					self:diffusealpha(0);
					self:zoom(0.65);
					self:sleep(2);
					self:accelerate(0.1);
					self:addx(200);
					self:diffusealpha(1);
					self:sleep(0.6);
					self:accelerate(0.2);
					self:addx(16);
					self:diffusealpha(0);
					self:linear(0.001);
					self:x(SCREEN_CENTER_X-192);
				else
					self:y(SCREEN_CENTER_Y+70);
					self:addx(-200);
					self:diffusealpha(0);
					self:zoom(0.65);
					self:sleep(2);
					self:accelerate(0.1);
					self:addx(200);
					self:diffusealpha(1);
					self:sleep(0.6);
					self:accelerate(0.2);
					self:addx(16);
					self:diffusealpha(0);
					self:linear(0.001);
					self:x(SCREEN_CENTER_X-192);
				end;
			end;
		};
	end;


t[#t+1] = selInfo;

return t;